﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zero.Core.Domain;
using Zero.POCO;

namespace Zero.Presenter
{
    public class EditionAnnonceurPresenter : IEdITAnnonceurPresenter
    {
        private Guid _annonceurId;
        private IEditAnnonceurView _editAnnonceurView;
        private IRepository<Annonceur, Guid> _AnnonceurRepository;
        public EditionAnnonceurPresenter(IEditAnnonceurView editAnnonceurView,IRepository<Annonceur, Guid> annonceurRepository,Guid AnnonceurId)
        {
            _annonceurId = AnnonceurId;
            _AnnonceurRepository = annonceurRepository;
            _editAnnonceurView = editAnnonceurView;
        }

        public void Display()
        {
            if(_annonceurId!=default(Guid))
            _editAnnonceurView.annonceur= _AnnonceurRepository.FindBy(_annonceurId);
            else _editAnnonceurView.annonceur = AnnonceurFactory.CreateAnnonceur();
        }

        public void WriteChanges()
        {
            _AnnonceurRepository.Save(_editAnnonceurView.annonceur);
        }
    }
    
    public interface IEdITAnnonceurPresenter
    {
        void Display();
        void WriteChanges();
    }


    public interface IEditAnnonceurView
    {
        Annonceur annonceur { get; set; }
    }
}
